#pragma once 

#include<unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
#include <stdlib.h>


#define SIZE 1024
#define SYNC_NOW 1 //（立即缓冲，无缓冲）
#define SYNC_LINE 2 //按行缓冲（显示器）
#define SYNC_FULL 4 //全缓冲 （文件）



//C接口的file*返回值（其实是一个结构体，里面有文件的信息，还有文件缓冲区）
typedef struct _FILE{
  int flags;//刷新方式
  int fileno; //fd返回值
  char buffer[SIZE];//缓冲区
  int cap;//缓冲区的总容量
  int size;//缓冲区当前的使用量

}FILE_;


FILE_* fopen_(const char* path_name,const char* mode);
void fwrite_(const void* ptr,int num,FILE_* fp);
void fclose_(FILE_* fp);
void fflush_(FILE_* fp);

